查看原文
其他

【每周一坑】三门问题

2017-02-18 Crossin的编程教室


《卖油翁》欧阳修

陈康肃公尧咨善射,当世无双,公亦以此自矜。尝射于家圃,有卖油翁释担而立,睨之,久而不去。见其发矢十中八九,但微颔之。 

康肃问曰:“汝亦知射乎?吾射不亦精乎?”翁曰:“无他,但手熟尔。”康肃忿然曰:“尔安敢轻吾射!”翁曰:“以我酌油知之。”乃取一葫芦置于地,以钱覆其口,徐以杓酌油沥之,自钱孔入,而钱不湿。因曰:“我亦无他,惟手熟尔。”康肃笑而遣之。

此与庄生所谓解牛斫轮者何异?


陈尧咨善射也好,卖油翁钱孔倒油而不湿也好,其实没有什么独门秘籍,只不过是“熟能生巧”四字罢了。


学过一门乐器或一项体育运动的人一定都有体会:了解基本规则和方法只是个开始,离真正掌握它还差了成百上千个小时的练习。而要到达精通,更是需要再投入上万小时。


编程当然也是如此。


如果你还在问,学习编程有什么捷径,那我给你的答案就是:赶紧打开你的电脑,去写代码。每完成一段程序,你就离目标更近了一步。


每个程序员都是一行行代码堆砌出来的。




于是,时隔许久,本教室的“每周一坑”栏目又回归啦!


每个星期,我们会给大家出一道题,在下一周做讲解。


你也可以把自己的代码上传到 github 或类似代码托管平台后,以留言的方式提交在文章下面。我们每次将从上一周的读者代码中选出一份进行分享


关于代码提交可参考这篇:极简 Github 上手教程

若因网络连接不畅,也可选择国内的 git@osc、coding.net 等类似服务。




三门问题



三门问题(Monty Hall problem)亦称为蒙提霍尔问题、蒙特霍问题或蒙提霍尔悖论,大致出自美国的电视游戏节目 Let's Make a Deal。问题名字来自该节目的主持人蒙提·霍尔(Monty Hall)。


参赛者会看见三扇关闭了的门,其中一扇的后面有一辆汽车,选中后面有车的那扇门可赢得该汽车,另外两扇门后面则各藏有一只山羊。当参赛者选定了一扇门,但未去开启它的时候,节目主持人开启剩下两扇门的其中一扇,露出其中一只山羊。主持人其后会问参赛者要不要换另一扇仍然关上的门。问题是:换另一扇门会否增加参赛者赢得汽车的机率?


要求:

通过程序模拟三门问题,并重复进行大量测试,统计换门与不换门的情况下,赢得汽车的概率。


示例:

>>> python three_doors.py
total: 100000
switch: xxx
switch win: xxx (xx%)
stay: xxx
stay win: xxx (xx%)





近期文章推荐阅读:

我扒了杜蕾斯的微博

数据分析:当赵雷唱民谣时他唱些什么?

Python 爬虫爬取美剧网站

个人开发者如何申请微信小程序

今天,你抢到票了吗?

爆款游戏《贪吃蛇大作战》的 Python 实现


【码上行动-零基础Python入门】

课程开放中,回复“课程”了解详情或后台咨询



欢迎加入

Crossin的编程教室

crossincode.com

新手入门QQ群:453300655

微信群请加 crossin11 后留言入群


点击左下角“阅读原文”,查看更多学习资源

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存